﻿
var type = "";
var typeName = "";
var cityId = "";
$(function () {
    initTree();
    initTable();
});
var $table = $('#table');
var $tree = $('#tree');
function initTree() {
    $tree.jstree({
        'core': {
            'data': {
                'type': 'post',
                "url": "/AdministrativeDivision/TreeExcludeStreetAsync",
                "dataType": "json",
                "data": "{showStreet:false}"
            }
        }
    });
    $tree.on("changed.jstree", function (e, data) {
        console.log(data);
        //if (types.length > 1) {
        //    type = data.selected[0];
        //    typeName = data.node.text;
        //} else {
        //    type = "";
        //    typeName = "";
        //}
        if (data.node.parent == "#") {
            type = "-" + data.selected[0] + "-";
            typeName = "";
        } else if (data.selected[0].indexOf('-') > -1) {
            var types = data.selected[0].split('-');//没有选择省，测试时只是沈阳市
            type = data.selected[0];
            typeName = data.node.text;
            cityId = data.node.parent;
        } else {
            type = "";
            typeName = "";
        }


        console.log(type);
        refreshTable();
    });
}
function initTable() {

    $table.bootstrapTable({
        url: '/SchoolArea/IndexAsync',            //数据来源地址
        method: 'post',                     //数据请求方式
        striped: true,                      //是否显示行间隔色
        cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
        pagination: true,                   //是否启用分页
        sidePagination: 'server',           //在服务器端分页
        queryParams: queryParams,           //传递参数
        pageNumber: 1,                      //初始化加载第一页，默认第一页
        pageSize: 20,                       //每页的记录行数（*）
        pageList: [10, 20, 30, 40, 50],     //可供选择的每页的行数（*）
        clickToSelect: true,                //是否启用点击选中行
        //toolbar: "#tableToolBar",
        height: getHeight(),
        columns: [{
            width: 38,
            field: 'selected',
            checkbox: true,
        }, {
            title: '行号',
            align: 'center',
            formatter: function (value, row, index) { return index + 1; }
        }, {
            //    field: 'no',
            //    title: '编码',
            //    align: 'center',
            //}, {
            field: 'name',
            title: '名称',
            align: 'center'
        }, {
            field: 'areaName',
            title: '所属区域',
            align: 'center',
        }, {
            field: 'typeName',
            title: '类型',
            align: 'center',
        }, {
            field: 'gradeName',
            title: '性质',
            align: 'center',
        }, {
            field: 'levelName',
            title: '等级',
            align: 'center',
        }, {
            //    field: 'cityId',
            //    title: '所属城市',
            //    align: 'center',
            //}, {
            //    field: 'areaId',
            //    title: '所属区域',
            //    align: 'center',
            //}, {
            field: 'address',
            title: '地址',
            align: 'center',
        }, {
            field: 'brief',
            title: '备注',
            align: 'center',
        }]
        //Type, Grade, Level, CityId, AreaId, Address
    });
}

//查询的参数
var queryParams = function (params) {
    var temp = {
        pageSize: params.limit,                             //行数
        pageIndex: (params.offset / params.limit) + 1,      //页码
        search: $('#searchKey').val(),                       //查询内容
        type: type
    };
    console.log(temp);
    return temp;
};

//刷新表格数据
var refreshTable = function () {
    $table.bootstrapTable('refresh');
}

//自定义的列事件
function operateFormatter(value, row, index) {
    return [
        '<a class="edit" href="javascript:void(0)" title="编辑">',
        '<i class="glyphicon glyphicon-edit"></i>',
        '</a>  ',
        '<a class="remove" href="javascript:void(0)" title="删除">',
        '<i class="glyphicon glyphicon-remove"></i>',
        '</a>'
    ].join('');
}

window.operateEvents = {
    'click .edit': function (e, value, row, index) {

    },
    'click .remove': function (e, value, row, index) {

    }
};


function isTrueFormatter(value, row, index) {
    return value ? '<i class="glyphicon glyphicon-ok"></i>' : '<i class="glyphicon glyphicon-remove"></i>'
}

//获取表格高度
function getHeight() {
    return $(window).height() - 150;
}

//重置表格高度
setTimeout(function () {
    $table.bootstrapTable('resetView');
}, 200);

//重置表格高度
$(window).resize(function () {
    $table.bootstrapTable('resetView', {
        height: getHeight()
    });
});

//刷新按钮
$('#refreshBtn').click(function (e) {
    $table.bootstrapTable('refresh');
});

//搜索按钮
$('#searchBtn').click(function (e) {
    $table.bootstrapTable('refresh');
});

//插入按钮
$('#insertBtn').click(function (e) {
    if (type == "" || typeName == "") {
        layer.msg("请选择指定区域！", { icon: 5, time: 2000 });
        return;
    }
    parent.layer.open({
        type: 2,
        title: '添加校区',
        shadeClose: false,
        shade: 0.4,
        area: ['800px', '480px'],
        content: '/SchoolArea/Insert?type=' + type + "&typeName=" + typeName + "&parentId=" + cityId,
        end: function () {
            refreshTable();
        }
    });
});

//编辑按钮
$('#editBtn').click(function (e) {
    var selected = $table.bootstrapTable('getSelections');

    if (selected.length > 1) {
        layer.msg("一次只能修改一条数据！", { icon: 5, time: 2000 });
        return;
    }

    if (selected.length == 0) {
        layer.msg("请选择您要修改的数据！", { icon: 5, time: 2000 });
        return;
    }
    editData(selected[0].id);
});

//打开编辑窗口
function editData(id) {
    parent.layer.open({
        type: 2,
        title: '修改校区',
        shadeClose: true,
        shade: 0.4,
        area: ['800px', '480px'],
        content: '/SchoolArea/Edit?id=' + id,
        end: function () {
            refreshTable();
        }
    });
}

//删除按钮
$('#deleteBtn').click(function (e) {
    var selected = $table.bootstrapTable('getSelections');
    if (selected.length == 0) {
        layer.msg("请选择您要删除的数据！", { icon: 5, time: 2000 });
        return;
    }

    var arr = [];
    for (var i = 0; i < selected.length; i++) {
        arr.push(selected[i].id);
    }

    var ids = arr.join(",");

    layer.confirm('您确定要删除所选数据吗', {
        btn: ['是的', '取消'] //按钮
    }, function () {
        $.ajax({
            url: "/SchoolArea/DeleteAsync",
            type: "post",
            dataType: "json",
            data: { ids: ids },
            success: function (data) {
                //Info,Success,Warning,Error
                var type = data.type;
                if (type == 1) {
                    layer.msg(data.content,
                        {
                            icon: 6, time: 2000
                        },
                        function () {
                            refreshTable();
                        });
                } else {
                    layer.msg(data.content, { icon: 5, time: 2000 });
                }
            }
        });
    }, function () {
        return;
    });
});